<?php
/*
    Copyright (C) 2008 - 2010 Inanta Martsanto
    
    This file is part of Koma.

    Koma is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Koma is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Koma.  If not, see <http://www.gnu.org/licenses/>.
    
    Inanta Martsanto (inanta@inationsoft.com)
*/

class KomaWidgetText extends KomaWidgetInput
{	
	function __construct($name, $value = '', $placeholder = null, $validators = null, $args = array(), $cssclass = 'koma-Text')
	{
                $args['class'] = $cssclass;
                $args['id'] = $name;
                $args['type'] = 'text';
                $args['name'] = $name;
                $args['value'] = $value;
                
                if($validators != null) KomaValidatorManager::getInstance()->initializeValidator($name, $validators);
		
                $construct = '<input ';
                foreach($args as $att => $value)
                {
                        $construct .= $att . '="' . $value . '" ';
                }
                $construct .= '/>';
		
                parent::__construct($construct);
                $this->Value = $value;
                
		if($placeholder != null)
		{                        
                        KomaScriptManager::getInstance()->addSource(KOMA_JQUERY_PATH);
			KomaScriptManager::getInstance()->addScript("$(document).ready(function() { $('#$name').addClass('placeholder').val('$placeholder').focus(function() { if (this.value == '$placeholder') { $(this).removeClass('placeholder').val(''); }; }).blur(function() { if (this.value == '') { $(this).addClass('placeholder').val('$placeholder'); }; }); });");
		}
		
	}
}

?>